package com.eastfair.builder.service;

import com.eastfair.boot.service.SuperService;
import com.eastfair.builder.dto.ReportBuilderDTO;
import com.eastfair.builder.entity.ReportBuilder;
import com.eastfair.builder.vo.ReportBuilderVO;
import com.eastfair.home.dto.ReportBuilderAuditDTO;

/**
 * <p>
 * 业务接口
 * 报馆搭建商信息
 * </p>
 *
 * @author dq
 * @date 2022-08-06
 */
public interface ReportBuilderService extends SuperService<ReportBuilder> {

    /**
     * 报馆ID查询报馆搭建商信息.
     *
     * @param reportSpaceId the report space id
     * @return the report builder vo by report space id
     */
    ReportBuilderVO getVOByReportSpaceId(Long reportSpaceId);

    /**
     * 获取报馆搭建商信息.
     *
     * @param query the query
     * @return the report builder
     */
    ReportBuilder getReportBuilder(ReportBuilderDTO query);

    /**
     * 报馆ID获取报馆搭建商基本信息
     *
     * @param reportSpaceId the report space id
     * @return the by report space id
     */
    ReportBuilder getByReportSpaceId(Long reportSpaceId);

    /**
     * 展商ID查询报馆搭建商基本信息.
     *
     * @param exhibitorId the exhibitor id
     * @return the by exhibitor
     */
    ReportBuilderVO getVOByExhibitorId(Long exhibitorId);

    /**
     * 报馆ID获取报馆搭建商信息 并生成审核参数.
     *
     * @param reportSpaceId the report space id
     * @return the report builder audit
     */
    ReportBuilderAuditDTO createAuditByReportSpaceId(Long reportSpaceId);

    /**
     * 报馆ID删除报馆搭建商基本信息
     *
     * @param reportSpaceId the report space id
     * @return the boolean
     */
    boolean removeByReportSpaceId(Long reportSpaceId);
}
